The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than those that existed just a few years ago.
Other changes in technology have also profoundly affected how we use computers. For example, the widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed to allow individual users to communicate with each other. In this manner, a large number of people within a company, or between companies, could communicate simultaneously over a network with a software application running on a single computer system.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of the modern proliferation of computers and networks, and has evolved into a sophisticated worldwide network of linked computer systems which contain web pages. This system of communication networks and computer systems collectively makes up the xe2x80x9cworld-wide webxe2x80x9d, or WWW. A user at an individual PC (i.e., workstation) that wishes to access the WWW typically does so using a software application known as a web browser. A web page browser makes a connection via the Internet to computers known as web servers, and receives information from the web servers that is displayed on the user""s workstation. Information displayed to the user is typically organized into pages that are constructed using a specialized language called Hypertext Markup Language (HTML). Web browsers that use HTML are now available for almost every computer system on the market, making the WWW accessible to practically anyone who has access to a computer and a modem. Although the WWW is becoming increasingly popular, the rapid growth and expansion of computer users accessing the WWW has brought along with it concomitant problems. Some of these problems are identified in this discussion.
Two outgrowths of the world wide web are server farms and DASD (for Direct Access Storage Device, discussed hereinafter) farms. In each instance, the use of the term xe2x80x9cfarmxe2x80x9d is intended to communicate that a number of devices are operatively coupled together in such a way that data may flow more or less seamlessly between the end users of any of the cooperating devices in the farm. Thus a plurality of server computer systems cooperate to divide the data handling demands of a network, or a plurality of storage devices cooperate to provide the data storage demands of one or more server computer systems. While the technology to perform these divisions of function is available or under development, problems can arise in such environments which are addressed and overcome by the invention here described.
The description which follows presupposes knowledge of network data communications and switches and routers as used in such communications networks. In particular, the description presupposes familiarity with the OSI model of network architecture which divides network operation into layers. A typical architecture based upon the OSI model extends from Layer 1 (also sometime identified as xe2x80x9cL1xe2x80x9d) being the physical pathway or media through which signals are passed upwards through Layers 2, 3, 4 and so forth to Layer 7, the last mentioned being the layer of applications programming running on a computer system linked to the network. In this document, mention of L1, L2 and so forth is intended to refer to the corresponding layer of a network architecture. The disclosure also presupposes a fundamental understanding of bit strings known as packets and frames in such network communication.
It is a purpose of this invention to accelerate the performance of a server computer system functioning in a network, for example as a server in a local area network or in support of a node for the world wide web. In pursuing this purpose, the present invention contemplates the addition to a server computer system, which may otherwise be substantially conventional, of an option card having thereon a network processor. The network processor, by its addition to the server system, can remove from the central processing unit of the server system a goodly portion of the burden of supporting network activity, freeing the capacity of the server system to perform other tasks necessary in support of the network. For example, the addition of an option card as contemplated by this invention can offload from the CPU functions relating to network routing headers, freeing the system CPU for other processing such as application exercises.